package com.thinkgsp.jxc.service;

import java.util.List;

import com.thinkgsp.jxc.model.RpContact;
import com.thinkgsp.jxc.persistence.RpContactMapper;

/**
 * 往来账业务类
 * @author evan
 *
 */
public interface RpContactService {

	/**
	 * 设置持久化类，本方法用于测试目的
	 * @param contactMapper
	 */
	public void setRpContactMapper(RpContactMapper contactMapper);
	/**
	 * 根据Id获取往来记录
	 * @param id
	 * @return
	 */
	public RpContact getRpContact(Long id);
	/**
	 * 查询客户的往来明细
	 * @param begYear 开始年份
	 * @param begPeriod 开始期间
	 * @param endYear 截止年份
	 * @param endPeriod 截止期间
	 * @param custId 客户Id
	 * @return
	 */
	public List<RpContact> getRpContactList(int begYear,int begPeriod,int endYear,int endPeriod,int custId);
	
	/**
	 * 查询客户的往来明细(不包含核销)
	 * @param begYear 开始年份
	 * @param begPeriod 开始期间
	 * @param endYear 截止年份
	 * @param endPeriod 截止期间
	 * @param custId 客户Id
	 * @return
	 */
	public List<RpContact> getRpContactListNotCheck(int begYear,int begPeriod,int endYear,int endPeriod,int custId);
	/**
	 * 查询客户的应收款往来明细
	 * @param begYear 开始年份
	 * @param begPeriod 开始期间
	 * @param endYear 截止年份
	 * @param endPeriod 截止期间
	 * @param custId 客户Id
	 * @return
	 */
	public List<RpContact> getRpContactListForARec(int begYear,int begPeriod,int endYear,int endPeriod,int custId);
	
	/**
	 * 查询客户的应付款往来明细
	 * @param begYear 开始年份
	 * @param begPeriod 开始期间
	 * @param endYear 截止年份
	 * @param endPeriod 截止期间
	 * @param custId 客户Id
	 * @return
	 */
	public List<RpContact> getRpContactListForAPay(int begYear,int begPeriod,int endYear,int endPeriod,int custId);
	
}
